Synchronization between electronic devices

ABSTRACT

An electronic device is provided. The electronic device includes a management module configured to determine if a package related to an application is equipped in the first electronic device, a communication module configured to receive determine if a package related to an application is equipped in the first electronic device, and a display configured to output an item for executing the application, wherein the management module controls the display to display the item based on a comparison of the package and the application information.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims the benefit under 35 U.S.C. §119(e) of a U.S.Provisional application filed on Feb. 24, 2014 in the U.S. Patent andTrademark Office and assigned Ser. No. 61/943,781, and under 35 U.S.C.§119(a) of a Korean patent application filed on Jul. 3, 2014 in theKorean Intellectual Property Office and assigned Serial number10-2014-0083137, the entire disclosure of each of which is herebyincorporated by reference.

TECHNICAL FIELD

The present disclosure relates to a synchronization technique between ahost device and an external device connected to the host device.

BACKGROUND

Electronic devices such as smartphones and tablets are now extensivelyused. Recently, wearable or companion devices, for example, Galaxy Gear,Galaxy Gear 2, Galaxy Gear Fit, or Google Glasses equipped with headmounted display (HMD), are used in conjunction with an electronic devicesuch as a smartphone or a tablet.

Each electronic device may operate separately and may operate inmaster/slave or provider/consumer relationship. For example, asmartphone (a master or provider device) operating as a host device mayhave an application package for wearable device (a slave or consumerdevice). The smartphone may provide the application package to awearable device through a network (for example, Bluetooth).

For example, a user may connect a smartphone and a smart watch and maythen use them together. Applications a, b, and c may be installed on thesmart watch and applications (or packages) A, B, and C for supportingthe applications a, b, and c may be installed on the smartphone. When auser loses a smartphone and then purchases a new smartphone, if only thepackages A and B are installed on the new smartphone, after the newsmartphone is connected to an existing a smart watch, a component of thesmartphone for operating the application c may not exist. In such acase, a malfunction may occur in application c or a situation in which asmartphone or a smart watch does not operate may occur. Therefore, whena smartphone is newly connected to a smart watch, the smart watch may befactory reset compulsorily. Accordingly, a user experiences unnecessaryinconvenience.

The above information is presented as background information only toassist with an understanding of the present disclosure. No determinationhas been made, and no assertion is made, as to whether any of the abovemight be applicable as prior art with regard to the present disclosure.

SUMMARY

Aspects of the present disclosure are to address at least theabove-mentioned problems and/or disadvantages and to provide at leastthe advantages described below. Accordingly, an aspect of the presentdisclosure is to provide a negative sync that hides a related item orsetting menu by mutual exchange of information on the compatibility ofmutually connected electronic devices in case that a package, afunction, or an application required for the other party device does notexist.

Another aspect of the present disclosure is to provide a positive syncthat updates packages, functions, and applications, which are notincluded in the other device.

In accordance with an aspect of the present disclosure, an electronicdevice is provided. The electronic device includes a management moduleconfigured to determine if a package related to an application isequipped in the first electronic device, a communication moduleconfigured to determine if a package related to an application isequipped in the first electronic device, and a display configured todisplay an item for executing the application, wherein the managementmodule controls the display to display the application based on acomparison of the package and the application information.

Other aspects, advantages, and salient features of the disclosure willbecome apparent to those skilled in the art from the following detaileddescription, which, taken in conjunction with the annexed drawings,discloses various embodiments of the present disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, features, and advantages of certainembodiments of the present disclosure will be more apparent from thefollowing description taken in conjunction with the accompanyingdrawings, in which;

FIG. 1 is a diagram of electronic device synchronization according tovarious embodiments of the present disclosure;

FIG. 2 is a view illustrating a method of connecting and disconnectingan electronic device according to various embodiments of the presentdisclosure;

FIG. 3 is a view illustrating a connection and a synchronization orderaccording to various embodiments of the present disclosure;

FIG. 4 is a view illustrating a data structure of an external deviceaccording to various embodiments of the present disclosure;

FIG. 5 is a view illustrating a data structure of a host deviceaccording to various embodiments of the present disclosure;

FIG. 6 is a view illustrating a process of negative sync according tovarious embodiments of the present disclosure;

FIG. 7 is a block diagram illustrating a network environment includingan electronic device according to various embodiments of the presentdisclosure;

FIG. 8 is a block diagram illustrating hardware of an electronic deviceaccording to various embodiments of the present disclosure;

FIG. 9 is a view illustrating a communication protocol among a pluralityof electronic devices according to various embodiments of the presentdisclosure; and

FIG. 10 is a view illustrating positive synchronization according tovarious embodiments of the present disclosure.

Throughout the drawings, it should be noted that like reference numbersare used to depict the same or similar elements, features, andstructures.

DETAILED DESCRIPTION

The following description with reference to the accompanying drawings isprovided to assist in a comprehensive understanding of variousembodiments of the present disclosure as defined by the claims and theirequivalents. It includes various specific details to assist in thatunderstanding but these are to be regarded as merely exemplary.Accordingly, those of ordinary skill in the art will recognize thatvarious changes and modifications of the various embodiments describedherein can be made without departing from the scope and spirit of thepresent disclosure. In addition, descriptions of well-known functionsand constructions may be omitted for clarity and conciseness.

The terms and words used in the following description and claims are notlimited to the bibliographical meanings, but, are merely used by theinventor to enable a clear and consistent understanding of the presentdisclosure. Accordingly, it should be apparent to those skilled in theart that the following description of various embodiments of the presentdisclosure is provided for illustration purpose only and not for thepurpose of limiting the present disclosure as defined by the appendedclaims and their equivalents.

It is to be understood that the singular forms “a,” “an,” and “the”include plural referents unless the context clearly dictates otherwise.Thus, for example, reference to “a component surface” includes referenceto one or more of such surfaces.

The term “include,” “comprise,” and “have”, or “may include,” or “maycomprise” and “may have” used herein indicates disclosed functions,operations, or existence of elements but does not exclude otherfunctions, operations or elements. The meaning of “include,” “comprise,”“including,” or “comprising,” specifies a property, a region, a fixednumber, a step, a process, an element and/or a component but does notexclude other properties, regions, fixed numbers, steps, processes,elements and/or components. In this specification, the expression “or”includes any or all combinations of words listed. For example, “A or B”may include A or include B or include both A and B.

The terms such as “1st”, “2nd”, “first”, “second”, and the like usedherein may refer to modifying various different elements of variousembodiments, but do not limit the elements. For instance, such terms donot limit the order and/or priority of the elements. Furthermore, suchterms may be used to distinguish one element from another element. Forinstance, both “a first user device” and “a second user device” indicatea user device but indicate different user devices from each other. Forexample, a first component may be referred to as a second component andvice versa without departing from the scope of the present disclosure.

It will be understood that when an element is referred to as being“connected” or “coupled” to another element, it can be directlyconnected or coupled to the other element or intervening elements may bepresent. In contrast, when an element is referred to as being “directlyconnected” or “directly coupled” to another element, there are nointervening elements present.

Terms used in this specification are used to describe specificembodiments, and are not intended to limit the scope of the presentdisclosure.

Otherwise indicated herein, all the terms used herein, which includetechnical or scientific terms, may have the same meaning that isgenerally understood by a person skilled in the art. In general, theterms defined in the dictionary should be considered to have the samemeaning as the contextual meaning of the related art, and, unlessclearly defined herein, should not be understood abnormally or as havingan excessively formal meaning.

Additionally, an electronic device according to an embodiment of thepresent disclosure may be a device with a communication function. Forinstance, electronic devices may include at least one of smartphones,tablet personal computers (PCs), mobile phones, video phones, electronicbook (e-book) readers, desktop PCs, laptop PCs, netbook computers,personal digital assistants (PDAs), portable multimedia player (PMPs),digital audio players, mobile medical devices, cameras, and wearabledevices (e.g., head-mounted-devices (HMDs) such as electronic glasses,electronic apparel, electronic bracelets, electronic necklaces,electronic accessories, electronic tattoos, and smart watches). Anelectronic device according to an embodiment of the present disclosuremay be one of the above-mentioned various devices or a combinationthereof. Additionally, an electronic device according to an embodimentof the present disclosure may be a flexible device. Furthermore, it isapparent to those skilled in the art that an electronic device accordingto an embodiment of the present disclosure is not limited to theabove-mentioned devices.

Hereinafter, an electronic device according to various embodiments ofthe present disclosure will be described in more detail with referenceto the accompanying drawings. The term “user” in various embodiments ofthe present disclosure may refer to a person using an electronic deviceor a device using an electronic device (for example, an artificialintelligent electronic device).

FIG. 1 is a diagram of electronic device synchronization according tovarious embodiments of the present disclosure.

Referring to FIG. 1, a plurality of electronic devices may be mutuallyconnected to each other for synchronization of data. The electronicdevices may include an arbitrary device operating as a provider/consumeror a master/slave configuration. In various embodiments of the presentdisclosure, a first device includes a package operating in the firstdevice and a second device, the package provides data of an applicationto the second device, and a corresponding package is supported by thefirst device in order to allow the application to operate in the seconddevice.

Hereinafter, for convenience of description, a first electronic device(for example, a provider) may be described as a host device (forexample, a smartphone) and a second electronic device may be describedas a wearable device. All electronic devices other than host devices maybe understood as external devices. However, both the first and secondelectronic devices could be smartphones. For example, the firstelectronic device may be a smartphone and the second electronic devicemay be a tablet.

In various embodiments of the present disclosure, in addition to anapplication package (for example, an application package where files(*.apk) for smartphone and other files (*.apk) for smart watch areintegrated), a package may be understood as the sum offunctions/application/hardware/modules for allowing a specific functionof a smart watch to operate. For example, although a smartphone and awearable device for supporting a Bluetooth low energy (BLE) functioninteroperate with each other, when the smartphone is lost and a newsmartphone interoperates with the wearable device again, if the newsmartphone does not support the BLE function, a function (orapplication) relating to the BLE function of the wearable device may notoperate normally. In such a case, a negative synchronization accordingto various embodiments of the present disclosure may be applied. Invarious embodiments of the present disclosure, the “package” may beappropriately understood as the above-mentioned broad concept.

Referring to FIG. 1 again, a host device (for example, a smartphone) anda wearable device (for example, a smart watch) may be connected to eachother. The devices may be connected through short-range communicationsuch as Bluetooth (BT), wireless fidelity (Wi-Fi), Wi-Fi Direct, or awired connection. A connection and processes occurring during theconnection will be described later with reference to FIGS. 2 and 3.

A wearable manager service (WMS) module 110 of a wearable device and ahost manager (HM) module 120 of a host device may perform capabilityexchange. An operation performed by each module will be described.

The WMS module 110 may check information on a list of applications thatare installed on a wearable device and a package that each applicationrequires. For example, it is assumed that wearable app A 111A and awearable app B 111B are installed on a wearable device. Each applicationmay include information on a function of a corresponding application andthe information may include information on a required package. Forexample, the application 111A may require packages X and Y and theapplication 111B may require packages X, Y, and Z. Such information maybe included in a structured document such as, for example, an extensiblemarkup language (xml) document. The WMS module 110 may obtaininformation on a package that the application requires from the document(for example, features.xml).

The HM module 120 may check a list of installed packages (equipped) in ahost device. As shown in an embodiment of the present disclosure, anapplication 121 including packages X and Y may be installed on a hostdevice. Like the WMS module 110, the HM module 120 may bring or obtaininformation of the installed package from a structured documentincluding installation information. Additionally, in various embodimentsof the present disclosure, the HM module 120 may bring packageinformation from basic information and spec stored in a host deviceitself.

In various embodiments of the present disclosure, the WMS module 110 andthe HM module 120 may perform capability exchange. For example, the WMSmodule 110 may transmit package information (wearable device) that anapplication requires through a communication channel formed between awearable device and a host device and may receive package informationinstalled on a host device. Additionally, the HM module 120 may receiverequired package information from a wearable device through thecommunication channel and may transmit installed package information toa wearable device.

In various embodiments of the present disclosure, the WMS module 110 andthe HM module 120 may compare its own information and informationreceived from the other party to determine whether to output an item foreach application.

For example, a basic user interface (UI) 113 (for example, home UI) maybe displayed on a display of a wearable device and icons or a list ofapplications installed on a wearable device may be displayed on the UI113. In this case, the WMS module 110 may not output an application whena package required for a normal operation is not supported by the hostdevice.

For example, a host device may provide a HM screen 123 for managing anapplication installed on a wearable device. When an application, whichis not supported by a host device, is installed on a wearable device,the HM module 120 may not output an item of a corresponding application(for example, an unsupported application) to the HM screen 123.Additionally, the HM module 120 may support deleting an applicationincluded in a list of unsupported applications, or may perform anoperation of changing a setting of a host device to support theapplication (e.g., the operation might be called as a positivesynchronization). A positive synchronization will be described withreference to FIG. 10.

FIG. 2 is a view illustrating a method of connecting and disconnectingan electronic device according to various embodiments of the presentdisclosure.

Referring to FIG. 2, a displayed screen may be understood as a part ofan HM screen 123 for controlling several settings of a wearable devicevia a host device. For example, a screen 210 may represent a startscreen (for example, Gear Manager) of a HM. When a paired device isconnected to a host device, the screen 210 may include an imagerepresenting the connected device, the name of the connected device, anda menu for editing a home screen of the connected device (e.g. Edit homescreen). A user may edit the layout, watch configuration, and wallpaperof the connected device in the screen 210.

When a user selects (for example, taps a device name item) a connecteddevice in a screen 210, a sub menu for the selected device may beprovided in a screen 220. For example, the screen 220 may provide a menuitem for disconnecting a device, a menu item for updating software of aconnected device, the model number of a connected device, and thesoftware version of a connected device.

When a user selects a disconnection menu in the screen 220, thedisconnection request may be verified in the screen 230. When a userselects an OK button, the host device and the connected device (forexample, a wearable device) may be disconnected.

When the connection is disconnected, a screen 240 may provideinformation on an external device that is connectable to a host device.A host device may provide a list of devices that are detectable orconnectable by using short-range communication such as BLE, BT, Wi-Fi,and Wi-Fi Direct, cellular communication such as third generation (3G)and long term evolution (LTE), or wired connection.

When a connection for at least one external device in the list providedin the screen 240 is selected, a screen 250 may be displayed. Forexample, when, at screen of a smartphone (for example, Galaxy S5), auser selects a connection with a smart watch (for example, Galaxy Gear2) near the smartphone, a screen representing the attempting of aconnection between the smartphone and the smart watch may be outputted.If a user selects a cancel button, the screen 250 returns to the screen240 and, if not, the screen 250 proceeds to operation 260. Operationsperformed while the screen 250 is outputted are described with referenceto FIG. 3.

When the connection with an external device is successful, the screen220 may be outputted. In this case, an item included in the screen 220may be updated as information of a connected device. Additionally, thescreen 220 may provide a list of previously connected devices inaddition to a currently connected device.

Referring back to operation 260, when the connection with an externaldevice fails, a screen 270 may be outputted. The screen 270 may indicatean error message. When a user selects a reconnection attempt (forexample, an OK button), a host device may attempt a connection with theexternal device again while outputting the screen 250. If a cancelbutton (for example, cancel) is selected, the screen 240 may beoutputted.

As shown in an embodiment of FIG. 2, an item for an application of aconnected device may be provided. For example, items or information onapplications may be provided in a home screen edit menu (e.g., Edit homescreen) of the screen 210 or a device detail menu (e.g., about device)of the screen 220. In this case, when a negative synchronization isapplied, applications that are installed on an external device but aredetermined to not be supported by a host device (i.e., unsupportedapplications) may not be outputted. In various embodiments of thepresent disclosure, the unsupported applications may be outputted froman additional menu or screen. By distinguishing and outputtingunsupported applications that are installed on an external device insuch a way, failures, malfunctions, and device freezing may beprevented.

FIG. 3 is a view illustrating a connection and a synchronization orderaccording to various embodiments of the present disclosure.

Referring to FIG. 3, a host device (for example, an HM or a managementmodule of a host device) may establish a connection with an externaldevice (for example, a wearable device) and may perform synchronization.In operation 301, the host device may request a state of a wearabledevice (MGR_WEARABLE_STATUS_REQ). On the receipt of the request, thewearable device may generate state information of the wearable device inoperation 303. The state information may be generated as a structureddocument (for example, WearableStatus.xml). In operation 305, thewearable device may transmit a response (MGR_WEARABLE_STATUS_RES) to thehost. The host device may store the received state information (forexample, WearableStatus.xml).

The wearable device may transmit the response in operation 305 and maythen request (MGR_HOST_STATUS_REQ) a state of the host in operation 309.On the receipt of the request, the host device may generate stateinformation of the host device in operation 311. The state informationmay be generated as a structured document (for example, HostStatus.xml).In operation 313, the host device may transmit a response(MGR_HOST_STATUS_RES) to the wearable device in response to the requestof the wearable device. The wearable device may store the received stateinformation in operation 315.

In operation 317, the wearable device may generate function informationin the wearable device (e.g., applications/functions of the wearabledevice). The information may be as a structured document (for example,WearableStatus.xml). This information may be partially different fromthe information generated in operation 303 and may be distinguished by adifferent format or name (for example, WearableStatusEnable.xml). Or, asupportable application may be distinguished by using a predeterminedtag (for example, <ENABLE APPLICATION> or <ENABLE>) in the document.

In operation 319, the wearable device may transmit a response(MGR_WEARABLE_STATUS_RES) including information on a supportableapplication again. Additionally, after the transmission in operation319, the wearable device may transmit a message(MGR_STATUS_EXCHANGE_DONE) that states information exchange (forexample, capability exchange) is completed to the host device.

The host device may store the additionally received state information(for example, WearableStatus.xml or WearableStatusEnable.xml) of thewearable device in operation 321. Additionally, the host device maycomplete a connection establishment in operation 325. When up tooperation 325 is completed, for example, the screen 220 shown in FIG. 2may be outputted again.

In various embodiments of the present disclosure, the external device isnot limited to the wearable device. As mentioned above in relation toFIG. 1, a device coupled to the host device and using a function (orpackage) of the host device may be also included in the external device.For example, when a smartphone and a smartphone, a smartphone and atablet, and a smartphone and a notebook PC are mutually connected toeach other, the above process may be applied (In this case, for example,MGR_WEARABLE_STATUS_REQ may be modified to MGR_TABLET_STATUS_REQ).

In the above embodiments of the present disclosure, a wearable devicegenerates information (for example, support list information) ofapplications/functions available and provides the information to thehost device (refer to operation 317 to operation 321). In variousembodiments of the present disclosure, support list information may begenerated by a host device in a corresponding way or may be generated byboth a host device and a wearable device and to be exchanged mutually.

FIG. 4 is a view illustrating a data structure of an external deviceaccording to various embodiments of the present disclosure.

Referring to FIG. 4, a data structure 400 of a wearable device mayinclude at least one among the items of deviceID 401, devicePlatform403, devicePlatformVersion 405, deviceType 407, modelNumber 409,swVersion 411, apps 413, deviceFeature 415, notification 417, andsettings 419.

The deviceID 401 may be the unique identification (ID) of a wearabledevice based on a BT/BLE media access control (MAC) address. ThedevicePlatform 403 may be a platform applied to a device, such asAndroid or Tizen. The devicePlatformVersion 405 may represent theversion (for example, 4.4 or 2.2.0) of the platform. The deviceType 407may represent the type (for example, Gear, Gear 2, and Gear Fit) of adevice. The modelNumber 409 may represent the model number (for example,SM-R380) of a device. The swVersion 411 may represent the softwareversion (for example, R380XXEOANB6) of a device.

The Apps 413 may represent applications information included in awearable device. For example, the app 413 may include a plurality ofapps 421. Each app 421 may include at least one of packagename 431, name433, version 435, features 437, is AppWidget 439, and preloaded 441.

In various embodiments of the present disclosure, the packagename 431may be used as the package name and unique ID of an application package.The unique ID is provided to recognize an application or an applicationpackage.

In various embodiments of the present disclosure, the name 433 mayrepresent the name of an application (for example, Find My Wearable).The version 435 may represent the version of an installed application.The is AppWidget 429 may represent whether a corresponding applicationis an app widget type and the preloaded 441 may represent whether acorresponding application needs to be preloaded to a device.

In various embodiments of the present disclosure, the feature 437 mayinclude a user-defined feature 445 and required package 443 (forexample, a namespace such as com.samsung.app.abc). Additionally, therequired package 443 may further include the minimum version information(attribute: minVer) required for executing the application.

The deviceFeature 415 may represent a function defined according to eachrole in a host device and an external device. For example, a wearabledevice may include a camera function corresponding to the camera 451.

The notification 417 may include priority information of a notificationattribute that is set by a device connected through BLE(DeviceBLENotificationAttributePriority 461), the basic size (byte) of anotification set by a device connected through BT(DeviceBTNotificationSize 463), the priority of a notification attributeset by a device connected through BT(DeviceBTNotificationAttributePriority 465), the basic size (byte) of anotification set by a device connected through BLE(DeviceBLENotificationSize 467).

The settings 419 may include a User-Defined feature 481 and all menuitems 471.

In various embodiments of the present disclosure, for example, inoperation 303 of FIG. 3, a wearable device may generatewearableStatus.xml including at least one of necessary information fromthe data structure 400 of FIG. 4 and may then transmit the datastructure 400 to a host device. For example, the WearableStatus.xml mayinclude the software version (swVersion 411) of a wearable device, aninstalled app type and version (name 433 and version 435), and requiredpackage information (requiredPackage 433).

FIG. 5 is a view illustrating a data structure of a host deviceaccording to various embodiments of the present disclosure.

Referring to FIG. 5, a data structure 500 may be understood as a datastructure of a host device connected to the external device of FIG. 4.Among items shown in FIG. 5, similar or corresponding contents describedwith reference to FIG. 4 are not described.

That is, the data structure 500 of a host device may have a structuresimilar to the data structure 400 of the external device of FIG. 4. Asshown in an embodiment of the present disclosure, apps 513 in the datastructure 500 include information on a plurality of apps 521 and eachapp 521 includes the feature 532 of each application. In this case,since a package installed on a host device is the package itself,required package information (for example, requiredPackage 433) may notbe included in a data structure.

Referring to FIG. 5, the data structure 500 of the host device mayinclude deviceFeature 515. In various embodiments of the presentdisclosure, the deviceFeature 515 may include information (e.g., tablet551) representing whether the host device is a tablet, whether tosupport auto lock (e.g., autolock 555), manufacturer information (e.g.,vendor 557), whether to support a call (e.g., telephony 559), andwhether to support hardware smart relay (e.g., smartrelay 561). Invarious embodiments, some items of the deviceFeature 515 shown in FIG. 5may be included in the deviceFeature 415 of FIG. 4 or vice versa.

In various embodiments of the present disclosure, referring to FIGS. 3to 5 again, a host device may generate (or extract) HostStatus.xmlincluding at least the packagename information on the app 521 or thedeviceFeature 515 and may then transmit the information to a wearabledevice. In operation 317, the wearable device may compare package orfunction information in the received HostStatus to a package(requiredPackage 443) or a function (for example, camera 451) requiredfor the wearable device. The wearable device may generate information,which indicates that a normal operation is possible, in a data structureformat and may than transmit the generated information to the hostdevice again.

In various embodiments of the present disclosure, a correspondingoperation may be performed based on the host device. For example, thewearable device may transmit installed application information to thehost device. The information may include required package informationand/or the minimum version information of the package. The host devicemay compare the received information and the data structure 500 and maydecide not to output an application on an HM screen (for example, screen123 if the application will not execute normally in the wearable device.

FIG. 6 is a view illustrating a process of negative sync according tovarious embodiments of the present disclosure.

For convenience, overlapping content and corresponding contents may notbe described and it is presumed that a first device is an externaldevice and a second device is a host device is described with referenceto FIG. 6. First, the first device is described.

In operation 610, the first device may determine if an application isinstalled on the first device. For example, the first device may extractdata or obtain information on the application, for example, informationincluded in a corresponding item from the above-mentioned data structureof the information.

In operation 620, the first device may check whether a condition thateach application requires is satisfied for the second device. Forexample, the first device may receive package information installed onthe second device and may compare the received information withinstalled application information of applications installed on the firstdevice.

In operation 630, when a required application is not installed on thefirst device, the first device may hide a corresponding app from adisplay (e.g., UI) to prevent operational issues with the second device.

In various embodiments of the present disclosure, the first device maytransmit a comparison result to the second device. The comparison resultmay include a list of supportable applications (or a list ofunsupportable applications) from the installed applications of the firstdevice. The second device may set an item that is to be or not to beoutputted from the first device on the basis of the comparison result.The first device may output an item (for example, an icon and a menu) ofan application according to an item set by the second device.

In various embodiments of the present disclosure, the first deviceitself may not output an item of a corresponding application accordingto the comparison result. However, in this case, the first device maytransmit a comparison result to the second device for output processingon an application that the first device does not support in a managementscreen of the second device.

The second device (that is, a host device) is described. In operation610, the second device may determine if an application is installed onthe first device. For example, the second device may receive applicationinformation of installed applications on the first device.

In operation 620, the second device may check whether an applicationinstalled on the first device is supported by the second device. Inoperation 620, the second device may determine whether a package, afunction, and hardware installed on the second device supports theapplications of the first device based on information included in thedata structure (for example, the data structure 500) of the seconddevice. As another method, the second device may transmit package orfunction information to the first device and may then receive supportedapplication information from the first device.

In operation 630, when an application installed on the second device isnot yet supported by the first device, the second device and/or thefirst device may not display the unsupported application. For example,the second device may transmit a control command for not outputting anunsupported application on the display of the first device.Additionally, the second device may not output the unsupportedapplication or may separately output it as an additional item on the HMscreen of the second device.

In various embodiments of the present disclosure, a synchronizationmethod of an electronic device may include determining if an applicationis installed in the first device, determining if a requirement of theapplication is satisfied by the second device, and determining whetherto output the application from the first device or the second devicebased on the determination result.

Herein, the checking of whether the condition is satisfied may includedetermining whether a required package of the application is installedon the second device.

Additionally, the method may further include transmitting information ona package installed on the second device to the first device andreceiving information on an application operable on the first devicegenerated based on information on the installed package. Herein, thechecking of whether the condition is satisfied may further includeperforming a determination on the basis of the information on anoperable application.

In various embodiments of the present disclosure, the determining ofwhether to output the portion of the application may further include,when it is determined that the condition is not satisfied on the basisof the check result, restricting an output of an unsatisfied applicationitem on the display of the first device or the second device.

FIG. 7 is a block diagram illustrating a network including an electronicdevice according to various embodiments of the present disclosure.

Referring to FIG. 7, the electronic device 700 may include a bus 710, aprocessor 720, a memory 730, an input/output interface 740, a display750, a communication interface 760, and a management module 770. Theelectronic device 700 may be a host device and the electronic device 704may be an external device (for example, a wearable device).

The bus 710 may be a circuit connecting the above-mentioned componentsto each other and delivering a communication signal (for example, acontrol message) therebetween.

The processor 720, for example, receives an instruction from thecomponents (for example, the memory 730, the input/output interface 740,the display 750, the communication interface 760, or the managementmodule 770) through the bus 710, interprets the received instruction,and performs operations and data processing in response to theinstruction.

The memory 730 may store an instruction or data received from theprocessor 720 or other components (for example, the input/outputinterface 740, the display 750, the communication interface 760, or themanagement module 770) or an instruction or data generated from theprocessor 720 or other components. The memory 730, for example, mayinclude programming modules such as, for example, a kernel 731, amiddleware 732, an application programming interface (API) 733, and anapplication 734. Each of the above-mentioned programming modules may beconfigured with software, firmware, hardware, or a combination thereof.

The kernel 731 may control or manage system resources (for example, thebus 710, the processor 732, or the memory 733) used for performingoperation or functions implemented by other programming modules, forexample, the middleware 734, the API 720, or the application 730.Additionally, the kernel 731 may provide an interface for accessing anindividual component of the electronic device 700 from the middleware732, the API 733, or the application 734 and controlling or managing thecomponent.

The middleware 732 may exchange data between the API 733 or theapplication 734 and the kernel 731. Additionally, in relation to jobrequests received from the applications 732, the middleware 732 mayperform a control (for example, scheduling or load balancing) for thejob requests by using a method of assigning a priority for using asystem resource (for example, the bus 700, the processor 720, or thememory 730) of the electronic device 700 to at least one applicationamong the applications 734.

The API 733, which is used via the application 734, controls a functionprovided by the kernel 731 or the middleware 732, may include at leastone interface or function (for example, an instruction) for filecontrol, window control, image processing, or character control.

According to various embodiments of the present disclosure, theapplication 734 may include an Short Message Service (SMS)/MultimediaMessaging Service (MMS) application, an e-mail application, a calendarapplication, an alarm application, a health care application (forexample, an application for measuring an exercise amount or bloodsugar), or an environmental information application (for example, anapplication for providing pressure, moisture, or temperatureinformation). Additionally or alternatively, the application 734 may bean application relating to information exchange between the electronicdevice 700 and an external electronic device (for example, theelectronic device 704). The application relating to informationexchange, for example, may include a notification relay application fordelivering specific information to the external electronic device or adevice management application for managing the external electronicdevice.

For example, the notification relay application may have a function fordelivering, to an external electronic device (for example, theelectronic device 704), notification information occurring from anotherapplication (for example, an SMS/MMS application, an e-mail application,a health care application, or an environmental information application).Additionally or alternatively, the notification relay application mayreceive notification information from an external electronic device (forexample, the electronic device 704) and may then provide the receivednotification information to a user. The device management application,for example, may manage (for example, install, delete, or update) afunction (for example, turning on/off an external electronic deviceitself (or some components) or adjusting the brightness (or resolution)of a display) for at least part of an external electronic device (forexample, the electronic device 700) communicating with the electronicdevice 704, an application operating in the external electronic device,or a service (for example, a call service or a message service) providedfrom the external electronic device.

According to various embodiments of the present disclosure, theapplication 734 may include an application specified according to theattribute (for example, a type of an electronic device) of the externalelectronic device (for example, the electronic device 704). For example,when an external electronic device is an MP3 player, the application 734may include an application relating to music playback. Similarly, whenan external electronic device is a mobile medical device, theapplication 734 may include an application relating to heath care.According to an embodiment of the present disclosure, the application734 may include at least one of an application specified to theelectronic device 700 or an application received from an externalelectronic device (for example, the server 706 or the electronic device704).

The input/output interface 740 may deliver an instruction or datainputted from a user through an input/output device (for example, asensor, a keyboard, or a touch screen), to the processor 720, the memory730, the communication interface 760, or the management module 770through the bus 710. For example, the input/output interface 740 mayprovide data on a user's touch inputted through a touch screen to theprocessor 720. Additionally, the input/output interface 740 may outputan instruction or data received from the processor 720, the memory 730,the communication interface 760, or the management module 770 throughthe bus 710, through the input/output device (for example, a speaker ora display). For example, the input/output interface 740 may output voicedata processed through the processor 720 to a user through a speaker.

The display 750 may display various information (for example, multimediadata or text data) to a user. For example, the display 750 may output anHM screen for managing installed applications and applications installedon the electronic device 704.

The communication interface 760 may enable communication between theelectronic device 700 and an external device (for example, theelectronic device 704 or the server 706). For example, the communicationinterface 760 may communicate with the external device in connection tothe network 762 through wireless communication or wired communication.The wireless communication may include at least one of Wi-Fi, BT, nearfield communication (NFC), global positioning system (GPS), or cellularcommunication (for example, LTE, LTE-advanced (LTE-A), code divisionmultiple access (CDMA), wideband CDMA (WCDMA), universal mobiletelephone system (UMTS), wireless broadband (WiBro), or global systemfor mobile communications (GSM)). The wired communication may include atleast one of universal serial bus (USB), high definition multimediainterface (HDMI), recommended standard 232 (RS-232), or plain oldtelephone service (POTS), for example.

According to an embodiment of the present disclosure, the network 762may be telecommunications network. The telecommunications network mayinclude at least one of computer network, internet, internet of things,or telephone network. According to an embodiment of the presentdisclosure, a protocol (for example, transport layer protocol, data linklayer protocol, or physical layer protocol) for communication betweenthe electronic device 700 and an external device may be supported by atleast one of the application 734, the API 733, the middleware 732, thekernel 731, or the communication interface 760.

The management module 770 may process at least part of informationobtained from other components (for example, the processor 720, thememory 730, the input/output interface 740, or the communicationinterface 760) and may output the processed information to a userthrough various methods. For example, the management module 770 maycorrespond to the HM module 120 or the WMS module 110 (for example, inthe case of the electronic device 704). The management module 770 maycompare installation information of applications or packages installedon the electronic device 700 and the electronic device 704 so as todetermine whether to output contents on specific application to thedisplay 750 or a display (not shown) of the electronic device 704.

FIG. 8 is a block diagram illustrating hardware of an electronic deviceaccording to various embodiments of the present disclosure.

The electronic device 800, for example, may configure all or part of theabove-mentioned electronic device 700 shown in FIG. 7. Referring to FIG.8, the electronic device 800 includes at least one application processor(AP) 810, a communication module 820, a subscriber identification module(SIM) card 824, a memory 830, a sensor module 840, an input device 850,a display 860, an interface 870, an audio module 880, a camera module891, a power management module 895, a battery 896, an indicator 897, anda motor 898.

The AP 810 may control a plurality of hardware or software componentsconnected to the AP 810 and also may perform various data processing andoperations with multimedia data by executing an operating system or anapplication program. The AP 810 may be implemented with a system on chip(SoC), for example. According to an embodiment of the presentdisclosure, the AP 810 may further include a graphic processing unit(GPU) (not shown).

The communication module 820 (for example, the communication interface760) may perform data transmission through a communication between otherelectronic devices (for example, the electronic device 704 or the server706) connected to the electronic device 800 (for example, the electronicdevices 700) via a network. According to an embodiment of the presentdisclosure, the communication module 820 may include a cellular module821, a Wi-Fi module 823, a BT module 825, a GPS module 827, an NFCmodule 828, and a radio frequency (RF) module 829.

The cellular module 821 may provide voice calls, video calls, textservices, or interne services through a communication network (forexample, LTE, LTE-A, CDMA, WCDMA, UMTS, WiBro, or GSM). The cellularmodule 821 may perform a authentication operation on an electronicdevice in a communication network by using a SIM (for example, the SIMcard 824), for example. According to an embodiment of the presentdisclosure, the cellular module 821 may perform at least part of afunction that the AP 810 provides. For example, the cellular module 821may perform at least part of a multimedia control function.

According to an embodiment of the present disclosure, the cellularmodule 821 may further include a communication processor (CP).Additionally, the cellular module 821 may be implemented with SoC, forexample. As shown in FIG. 8, components such as the cellular module 821(for example, a CP), the memory 830, or the power management module 895are separated from the AP 810, but according to an embodiment of thepresent disclosure, the AP 810 may be implemented including some of theabove-mentioned components (for example, the cellular module 821).

According to an embodiment of the present disclosure, the AP 810 or thecellular module 821 (for example, a CP) may load instructions or data,which are received from a nonvolatile memory or at least one of othercomponents connected thereto, into a volatile memory and then mayprocess the instructions or data. Furthermore, the AP 810 or thecellular module 821 may store data received from or generated by atleast one of other components in a nonvolatile memory.

Each of the Wi-Fi module 823, the BT module 825, the GPS module 827, andthe NFC module 828 may include a processor for processing datatransmitted/received through a corresponding module. Although thecellular module 821, the Wi-Fi module 823, the BT module 825, the GPSmodule 827, and the NFC module 828 are shown as separate blocks in FIG.8, according to an embodiment of the present disclosure, some (forexample, at least two) of the cellular module 821, the Wi-Fi module 823,the BT module 825, the GPS module 827, and the NFC module 828 may beincluded in one integrated chip (IC) or an IC package. For example, atleast some (for example, a CP corresponding to the cellular module 821and a Wi-Fi processor corresponding to the Wi-Fi module 823) of thecellular module 825, the Wi-Fi module 827, the BT module 828, the GPSmodule 821, and the NFC module 823 may be implemented with a single SoC.

The RF module 829 may be responsible for data transmission, for example,the transmission of an RF signal. Although not shown in the drawings,the RF module 829 may include a transceiver, a power amp module (PAM), afrequency filter, or a low noise amplifier (LNA). Additionally, the RFmodule 829 may further include components for transmitting/receivingelectromagnetic waves in a free space as a wireless communication, forexample, conductors or conducting wires. Although the cellular module821, the Wi-Fi module 823, the BT module 825, the GPS module 827, andthe NFC module 828 share one RF module 829 shown in FIG. 8, according toan embodiment of the present disclosure, at least one of the cellularmodule 821, the Wi-Fi module 823, the BT module 825, the GPS module 827,and the NFC module 828 may perform the transmission of an RF signalthrough an additional RF module.

The SIM card 824 may be inserted into a slot formed at a specificposition of an electronic device. The SIM card 824 may include uniqueidentification information (for example, an integrated circuit cardidentifier (ICCID)) or subscriber information (for example, aninternational mobile subscriber identity (IMSI)).

The memory 830 (for example, the memory 730) may include an internalmemory 832 or an external memory 834. The internal memory 832 mayinclude at least one of a volatile memory (for example, dynamic randomaccess memory (DRAM), static RAM (SRAM), synchronous dynamic RAM(SDRAM)) and a non-volatile memory (for example, one time programmableread only memory (OTPROM), programmable ROM (PROM), erasable andprogrammable ROM (EPROM), electrically erasable and programmable ROM(EEPROM), mask ROM, flash ROM, Not AND (NAND) flash memory, and Not OR(NOR) flash memory).

According to an embodiment of the present disclosure, the internalmemory 832 may be a Solid State Drive (SSD). The external memory 834 mayfurther include flash drive, for example, compact flash (CF), securedigital (SD), Micro-SD, Mini-SD, extreme digital (xD), or a memorystick. The external memory 834 may be functionally connected to theelectronic device 800 through various interfaces. According to anembodiment of the present disclosure, the electronic device 800 mayfurther include a storage device (or a storage medium) such as a harddrive.

The sensor module 840 measures physical quantities or detects anoperating state of the electronic device 800, thereby converting themeasured or detected information into electrical signals. The sensormodule 840 may include at least one of a gesture sensor 840A, a gyrosensor 840B, a pressure sensor 840C, a magnetic sensor 840D, anacceleration sensor 840E, a grip sensor 840F, a proximity sensor 840G, acolor sensor 840H (for example, a red, green, blue (RGB) sensor), a biosensor 840I, a temperature/humidity sensor 840J, an illumination sensor840K, and an ultra violet (UV) sensor 840M. Additionally/alternately,the sensor module 840 may include an E-nose sensor (not shown), anelectromyography (EMG) sensor, an electroencephalogram (EEG) sensor (notshown), an electrocardiogram (ECG) sensor (not shown), an infrared (IR)sensor (not shown), an iris sensor (not shown), or a fingerprint sensor(not shown). The sensor module 840 may further include a control circuitfor controlling at least one sensor therein.

The input module 850 may include a touch panel 852, a (digital) pensensor 854, a key 856, or an ultrasonic input device 858. The touchpanel 852 may recognize a touch input through at least one ofcapacitive, resistive, infrared, or ultrasonic methods, for example.Additionally, the touch panel 852 may further include a control circuit.In the case of the capacitive method, both direct touch and proximityrecognition are possible. The touch panel 852 may further include atactile layer. In this case, the touch panel 852 may provide a tactileresponse to a user.

The (digital) pen sensor 854 may be implemented through a method similaror identical to that of receiving a user's touch input or an additionalsheet for recognition. The key 856 may include a physical button, atouch key, an optical key, or a keypad, for example. The ultrasonicinput device 858, as a device checking data by detecting sound wavesthrough a mic (for example, the mic 888) in the electronic device 800,may provide wireless recognition through an input tool generatingultrasonic signals. According to an embodiment of the presentdisclosure, the electronic device 800 may receive a user input from anexternal device (for example, a computer or a server) connected to theelectronic device 200 through the communication module 820.

The display 860 (for example, the display 750) may include a panel 862,a hologram device 864, or a projector 866. The panel 862, for example,may include a liquid-crystal display (LCD) or an active-matrix organiclight-emitting diode (AM-OLED). The panel 862 may be implemented to beflexible, transparent, or wearable, for example. The panel 862 and thetouch panel 852 may be configured with one module. The hologram 864 mayshow three-dimensional images in the air by using the interference oflight. The projector 866 may display an image by projecting light on ascreen. The screen, for example, may be placed inside or outside theelectronic device 800. According to an embodiment of the presentdisclosure, the display 860 may further include a control circuit forcontrolling the panel 862, the hologram device 864, or the projector866.

The interface 870 may include an HDMI 872, a USB 874, an opticalinterface 876, or a D-subminiature (D-sub) 878, for example. Theinterface 870 may be included in the communication interface 760 shownin FIG. 7, for example. Additionally/alternately, the interface 870 mayinclude a mobile high-definition link (MHL) interface, an SDcard/multi-media card (MMC) interface, or an infrared data association(IrDA) standard interface.

The audio module 880 may convert sound into electrical signals andconvert electrical signals into sounds. At least some components of theaudio module 880 may be included in the input/output interface 740 shownin FIG. 7, for example. The audio module 880 may process soundinformation inputted/outputted through a speaker 882, a receiver 884, anearphone 886, or a mic 888.

The camera module 891, captures a still image and a video, may includeat least one image sensor (for example, a front sensor or a rearsensor), a lens (not shown), an image signal processor (ISP) (notshown), or a flash (not shown) (for example, an LED or a xenon lamp).

The power management module 895 may manage the power of the electronicdevice 800. Although not shown in the drawings, the power managementmodule 895 may include a power management IC (PMIC), a charger IC, or abattery or fuel gauge, for example.

The PMIC may be built in an IC or SoC semiconductor, for example. Acharging method may be classified as a wired method and a wirelessmethod. The charger IC may charge a battery and may prevent overvoltageor overcurrent flow from a charger. According to an embodiment of thepresent disclosure, the charger IC may include a charger IC for at leastone of a wired charging method and a wireless charging method. As thewireless charging method, for example, there is a magnetic resonancemethod, a magnetic induction method, or an electromagnetic method. Anadditional circuit for wireless charging, for example, a circuit such asa coil loop, a resonant circuit, or a rectifier circuit, may be added.

The battery gauge may measure the remaining amount of the battery 896,or a voltage, current, or temperature of the battery 896 duringcharging. The battery 896 may store or generate electricity and maysupply power to the electronic device 800 by using the stored orgenerated electricity. The battery 896, for example, may include arechargeable battery or a solar battery.

The indicator 897 may display a specific state of the electronic device800 or part thereof (for example, the AP 810), for example, a bootingstate, a message state, or a charging state. The motor 898 may convertelectrical signals into mechanical vibration. Although not shown in thedrawings, the electronic device 800 may include a processing device (forexample, a GPU) for mobile television (TV) support. A processing devicefor mobile TV support may process media data according to the standardssuch as digital multimedia broadcasting (DMB), digital videobroadcasting (DVB), or media flow.

Each of the above-mentioned components of the electronic deviceaccording to various embodiments of the present disclosure may beconfigured with at least one component and the name of a correspondingcomponent may vary according to the kind of an electronic device. Anelectronic device according to an embodiment of the present disclosuremay be configured including at least one of the above-mentionedcomponents or additional other components. Additionally, some ofcomponents in an electronic device according to an embodiment of thepresent disclosure are configured as one entity, so that functions ofprevious corresponding components are performed.

According to various embodiments of the present disclosure, updateprocessing between a host device (for example, an electronic device, anda mobile terminal) and an external device (for example, a wearabledevice, a smart watch, a galaxy gear, and sub device) may be performed.

For example, a host device forms a communication channel with anexternal device, receives setting information (capability) of anexternal device, and checks the setting information version of anexternal device.

When the setting information version of an external device supports afunction identical to a corresponding function and is different from afunction and version installed on the host device, the host device mayoutput an update message. Herein, the update message may include amessage indicated that version information is different and a message (apop-up window including a virtual button representing confirm or cancelrelating to version update) requesting update according to versioninformation difference. The message relating to the update may beoutputted from at least one of a host device and an external device.

According to various embodiments of the present disclosure, in relationto the update, a host device may correct corresponding data and may thenprovide it to an external device. In relation to this, a host device maystore a specific integrated package (that is a package including basicdata installed on the host device and sub data installed on the externaldevice, as data prepared to perform the same or similar function in thehost device and the external device) in a storage module or may receivethe specific integrated package from a server device providing acorresponding package. Accordingly, the host device may provide data ofa higher version to the external device.

According to various embodiments of the present disclosure, when anexternal device includes data of a higher version as compared to a hostdevice, the host device may receive a package corresponding to acorresponding version from a server device and may install a programaccording to installation information included in the package.

According to various embodiments of the present disclosure, a hostdevice and an external device may support downgrade in addition toupdate. For example, when the version of data in a package prepared in ahost device is lower than the version of data in a program installed onan external device, the host device may transmit data of the lowerversion to an external device. Then, the external device may downgradethe higher version to a lower version provided from the host device. Inrelation to this, at least one of the host device and the externaldevice may support a guide message for downgrade and a guide informationoutput relating to installation.

According to various embodiments of the present disclosure, anelectronic device may include a management module for checking a packageequipped in the electronic device, a communication module for receivinginformation on an application operable on the external device from theexternal device, and a display for outputting an item on an applicationinstalled on the external device. Herein, the management module maydetermine whether to output an item on each application on the basis ofa comparison result of the checked package and the information.

According to various embodiments of the present disclosure, theelectronic device may be a host device and the external device may be awearable device paired with the electronic device.

In various embodiments of the present disclosure, the communicationmodule may transmit information on the package to the external deviceand the comparison result may be generated on the basis of informationon the package transmitted from the external device.

In various embodiments of the present disclosure, the information mayinclude information on a package that the application requires andminimum version information on the package.

In various embodiments of the present disclosure, the management modulemay be set to determine whether to output the item when the electronicdevice is connected to the external device.

In various embodiments of the present disclosure, the control module mayallow the communication module to transmit the information on anequipped package to perform synchronization in the external device.

According to various embodiments of the present disclosure, anelectronic device may include a management module for checking therequirements of an application installed on the electronic device, acommunication module for receiving information on a function that thehost device supports, and a display for outputting an item on theinstalled application. Herein, the management module may be set todetermine whether to output an item on each application by comparinginformation on a function that the host device supports and therequirements of the application.

According to various embodiments of the present disclosure, theelectronic device may be a wearable device that is coupled to the hostdevice.

In various embodiments of the present disclosure, the requirements ofthe application may include at least one of a package and a function,which are required for executing the application.

In various embodiments of the present disclosure, when it is determinedthat the application is not supported by the host device, the managementmodule may determine not to output the application to the UI of thedisplay.

In various embodiments of the present disclosure, the management modulemay check the requirements from the data structure of the electronicdevice and the data structure may be set to include package informationthat each application requires and the minimum version information ofeach package.

In various embodiments of the present disclosure, the communicationmodule may be set to transmit information in data structure documentformat on the comparison result to the host device.

FIG. 9 is a view illustrating a communication protocol among a pluralityof electronic devices according to various embodiments of the presentdisclosure.

Referring to FIG. 9, for example, the communication protocol 900 mayinclude a device discovery protocol 951, a capability exchange protocol953, a network protocol 955, and an application protocol 957.

According to an embodiment of the present disclosure, the devicediscovery protocol 951 may be used for allowing electronic devices (forexample, the electronic device 910 or the electronic device 930) todetect a communicable external electronic device or connect to thedetected external electronic device. For example, the electronic device910 (for example, the electronic device 700) may detect the electronicdevice 930 (for example, the electronic device 704) as a devicecommunicable with the electronic device 910 by using the devicediscovery protocol 951 through a communication method (for example,Wi-Fi, BT, or USB). The electronic device 910 may obtain and storeidentification information on the detected electronic device 930 byusing the device discovery protocol 941. The electronic device 910, forexample, may establish a communication connection with the electronicdevice 930 on the basis of at least the identification information.

According to an embodiment of the present disclosure, the devicediscovery protocol 951 may be a protocol for mutual authenticationbetween a plurality of electronic devices. For example, the electronicdevice 910 may perform an authentication between the electronic device910 and the electronic device 930 on the basis of communicationinformation (for example, MAC address, universally unique identifier(UUID), subsystem identification (SSID), and internet protocol (IP)address) for a connection with at least the electronic device 930.

According to an embodiment of the present disclosure, the functionexchange protocol 953 may be a protocol for exchanging informationrelating to a function of a service supported by at least one of theelectronic device 910 and the electronic device 930. For example, theelectronic device 910 and the electronic device 930 may exchangeinformation relating to a service that each provides through thefunction exchange protocol 953. Exchangeable information may includeinformation indicating a specific service supported by the electronicdevice 910 and the electronic device 930. For example, the electronicdevice 910 may receive identification information on a specific servicethat the electronic device 930 provides from the electronic device 930through the function exchange protocol 953. In this case, the electronicdevice 910 may determine whether the electronic device 910 supports thespecific service.

According to an embodiment of the present disclosure, the networkprotocol 955 may be a protocol used for controlling the flow of datatransmitted/received to interoperate with a service and provide theservice between electronic devices (for example, the electronic device910 and the electronic device 930). For example, at least one of theelectronic device 910 and the electronic device 930 may perform errorcontrol or data quality control by using the network protocol 955.Additionally or alternatively, the network protocol 955 may determinethe transmission format of data transmitted/received between theelectronic device 910 and the electronic device 930. Additionally, atleast one of the electronic device 910 and the electronic device 930 maymanage (for example, session connection or session termination) at leasta session for data exchange mutually by using the network protocol 955.

According to an embodiment of the present disclosure, the applicationprotocol 957 may be a protocol for providing a procedure or informationto exchange data relating to a service provided to an external device.For example, the electronic device 910 (for example, the electronicdevice 700) may provide service to the electronic device 930 (forexample, the electronic device 704 or the server 706) through theapplication protocol 957.

According to an embodiment of the present disclosure, the communicationprotocol 900 may include a standard communication protocol, acommunication protocol (for example, a communication protocol specifiedfor a communication device manufacturer company itself or a networksupply company itself) specified by an individual or organization, or acombination thereof.

FIG. 10 is a view illustrating positive synchronization according tovarious embodiments of the present disclosure.

Referring to FIG. 10, a wearable device may include a WMS module 1010and a host device may include an HM module 1020. The modules 1010 or1020 may be understood as one example of the management module 770.

In various embodiments of the present disclosure, wearable applications1011, 1013, and 1015 may be installed on a wearable device. Hostapplications (packages) 1021, 1023, and 1025 may be installed on a hostdevice.

The module 1010 and the module 1020 may exchange information on anapplication/package installed in each device as described above withreference to FIGS. 1 to 6.

As illustrated in FIG. 10, application 1011 (Wearable App A) may be 1and the version of corresponding application 1021 (Host App A) may be 3.In this case, since the version of the host device is higher, in thecase of negative synchronization, application 1011 may be outputted to adisplay normally.

However, in another example, the host device may transmit installationdata for wearable device of a version 3 included in the applicationpackage 1021 that the host device retains for a wearable device(positive synchronization). If an installation file (for example, an.apk file) is deleted arbitrarily or by a user setting, the host deviceaccesses a store application 1030 in a server (e.g., an applicationstore) to receive an application A package (App A) and provides aninstallation file to a wearable device.

The application 1013 (Wearable App B), the version of a wearable deviceand the version of a host device are identical to each other.Accordingly, even when any one of negative synchronization or positivesynchronization is applied to the application 1013, the same result(outputted from the displays of the two devices normally) may bederived.

However, application 1015 (Wearable App C) has a version of anapplication that is higher than the package version of a host device.When the minimum required version (for example, attribute ofrequiredPackage 443: minVer) of a required package in a data structureof a wearable device is higher than the version 1 (for example, version2), in the case of negative synchronization, an application 1015 may notbe outputted from a display of a wearable device and/or an HM screen ofa host device.

However, in an embodiment of FIG. 10, a host device may receive anapplication c package corresponding to a version 3 or higher from aserver (for example, the application store 1030) and may update theapplication version of the host device to be higher than the version ofa wearable device. In various embodiments of the present disclosure,when the package version of a host device cannot be updated based on anapplication of a wearable device due to a case that a host device is notconnected to a server or a server does not provide a correspondingpackage, or other different environmental reasons, the host device mayreplace an application of a wearable device by using an installationfile stored in the host device (for example, replaced with theapplication 1015 of the version 1).

In various embodiments of the present disclosure, even if theapplication 1011 is installed on a wearable device but the applicationpackage 1021 is not installed on a host device, in the case of positivesynchronization, the host device may receive a package corresponding tothe application 1011 from a server (for example, the application store1030) to allow the application 1011 to operate normally. In the case ofnegative synchronization, the application 1011 may not be outputted onthe display of the wearable device.

According to various embodiments of the present disclosure, anelectronic device may include a management module checking a packageequipped in the electronic device and a communication module receivinginformation on an application operable on the external device from theexternal device. Herein, the management module may be set to determinewhether to synchronize the package or the application on the basis of acomparison result of the checked package and the information.

In various embodiments of the present disclosure, when the version ofthe package corresponding to the application is higher than the versionof the application, the management module may be updated on the basis ofthe package corresponding to the application of the external device.

In various embodiments of the present disclosure, when the version ofthe package corresponding to the application is lower than the versionof the application, the management module may update the package on thebasis of the application from a server.

In various embodiments of the present disclosure, when the version ofthe package corresponding to the application is lower than the versionof the application, the application may be replaced with an applicationincluded in the package.

According to various embodiments of the present disclosure, when a hostdevice is connected to an external device, various synchronizations maybe possible including a method of not outputting an unsupported itemwithout performing a manufacturer initialization operation or updatingto support a maximum item.

The term “module” used in this disclosure, for example, may mean a unitincluding a combination of at least one of hardware, software, andfirmware. The term “module” and the term “unit”, “logic”, “logicalblock”, “component”, or “circuit” may be interchangeably used. A“Module” may be a minimum unit or part of an integrally configuredcomponent, may be a minimum unit performing at least one function orpart thereof, or may be implemented mechanically or electronically. Forexample, the module according to various embodiments of the presentdisclosure may include at least one of an application-specific IC (ASIC)chip performing certain operations, field-programmable gate arrays(FPGAs), or a programmable-logic device, all of which are known or to bedeveloped in the future.

According to various embodiments of the present disclosure, at leastpart of a device (for example, modules or functions thereof) or a method(for example, operations) according to this disclosure, for example, asin a form of a programming module, may be implemented using aninstruction stored in non-transitory computer-readable storage media.When at least one processor (for example, the processor 720) executes aninstruction, it may perform a function corresponding to the instruction.The non-transitory computer-readable storage media may include thememory 730, for example. At least part of a programming module may beimplemented (for example, executed) by processor 810, for example. Atleast part of a programming module may include a module, a program, aroutine, sets of instructions, or a process to perform at least onefunction, for example.

The non-transitory computer-readable storage media may include MagneticMedia such as a hard disk, a floppy disk, and a magnetic tape, OpticalMedia such as Compact Disc ROM (CD-ROM) and Digital Versatile Disc(DVD), Magneto-Optical Media such as Floptical Disk, and a hardwaredevice especially configured to store and perform a program instruction(for example, a programming module) such as ROM, RAM, and flash memory.Additionally, a program instruction may include high-level language codeexecutable by a computer using an interpreter in addition to machinecode created by a compiler. The hardware device may be configured tooperate as at least one software module to perform an operation of thisdisclosure and vice versa.

A module of a programming module according to various embodiments of thepresent disclosure may include at least one of the above-mentionedcomponents or additional other components. Or, some programming modulesmay be omitted. Operations performed by a module, a programming module,or other components according to various embodiments of the presentdisclosure may be executed through a sequential, parallel, repetitive orheuristic method. Additionally, some operations may be executed in adifferent order or may be omitted. Or, other operations may be added.

According to various embodiments of the present disclosure, in relationto a storage medium storing commands, the commands are set to allow atleast one processor to perform at least one operation when executed byat least one processor. The least one operation may include an operationfor checking an application installed on a first device, an operationfor checking whether a condition that the application requires issatisfied in a second device, and an operation for determining whetherthe application is outputted from the first device or the second device.

While the present disclosure has been shown and described with referenceto various embodiments thereof, it will be understood by those skilledin the art that various changes in form and details may be made thereinwithout departing from the spirit and scope of the present disclosure asdefined by the appended claims and their equivalents.

What is claimed is:
 1. A first electronic device comprising: amanagement module configured to determine if a package related to anapplication is equipped in the first electronic device; a communicationmodule configured to receive application information from a secondelectronic device; and a display configured to display an item relatedto the application, wherein the management module controls the displayto display the item based on a comparison of the package and theapplication information.
 2. The first electronic device of claim 1,wherein the first electronic device corresponds to a host device and thesecond electronic device corresponds to a wearable device paired withthe electronic device.
 3. The first electronic device of claim 1,wherein the communication module transmits package information of thepackage to the second electronic device and receives the comparisonresult from the second electronic device.
 4. The first electronic deviceof claim 1, wherein the application information comprises information ofa package that the application requires and minimum version informationof the package.
 5. The first electronic device of claim 1, wherein themanagement module controls the display to display the item when thefirst electronic device is connected to the second electronic device. 6.The first electronic device of claim 1, wherein the management modulecontrols the communication module to transmit the package information tothe second electronic device to synchronize the second electronicdevice.
 7. A first electronic device comprising: a management moduleconfigured to determine a requirement of an application installed on thefirst electronic device; a communication module configured to receive,from a second electronic device, package information of a function thatthe second electronic device supports; and a display configured todisplay an item related to the application, wherein the managementmodule controls the display to display the item based on a comparison ofthe information of the function and the requirement of the application.8. The first electronic device of claim 7, wherein the first electronicdevice is a wearable device operating while connected to the secondelectronic device.
 9. The first electronic device of claim 7, whereinthe requirement comprises at least one of a package or a function usedfor executing the application.
 10. The first electronic device of claim7, wherein when the application is not supported by the secondelectronic device, the management module controls the display to notdisplay the item.
 11. The first electronic device of claim 7, whereinthe management module is configured to determine the requirement from adata structure of the first electronic device, wherein the datastructure includes package information that the application requires andminimum version information of the package.
 12. The first electronicdevice of claim 11, wherein the communication module is configured totransmit the comparison result to the host device.
 13. A synchronizationmethod of an electronic device, the synchronization method comprising:determining if a requirement of an application installed on a firstdevice is satisfied in a second device; and determining to display anitem related to the application on the first device or the second devicewhen the requirement of the application is satisfied.
 14. The method ofclaim 13, wherein the determining if the requirement of the applicationis satisfied comprises determining whether a package that theapplication requires is installed on the second device.
 15. The methodof claim 13, further comprising: transmitting a first information of apackage installed on the second device to the first device; andreceiving, from the first device, a second information that theapplication is operable one the first device, the second informationbeing generated based on the first information, wherein the determiningif the requirement of the application is satisfied is performed based onthe second information.
 16. The method of claim 13, wherein thedetermining to display the item comprises, when the requirement of theapplication is not satisfied, preventing the display of the applicationin the first device or the second device.
 17. A first electronic devicecomprising: a management module configured to determine a version of apackage is installed in the first electronic device; and a communicationmodule configured to receive application information installed in asecond electronic device from the second electronic device, theapplication information including a version of an applicationcorresponding to the package, wherein the management module determineswhether to synchronize the package or the application based on acomparison of the determination result and the application information.18. The first electronic device of claim 17, wherein the managementmodule updates the application of the second electronic device when theversion of the package is higher than the version of the application.19. The first electronic device of claim 17, wherein the managementmodule updates the package of the first electronic device when theversion of the package is lower than the version of the application. 20.The first electronic device of claim 17, wherein, when the version ofthe package is lower than the version of the application, the managementmodule replaces the application with an updated application included inthe package.